/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package democ;
import java.net.*;
/* The java.io package contains the basics needed for IO operations. */
import java.io.*;
/**
 *
 * @author hpfamily
 */
public class demoC {

    public  Socket client;
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
         String host = "localhost";
         int port = 3200;


         String pass ="";


         
         try
         {
             
          //   InetAddress address = InetAddress.getByName(host);
             Socket connection = new Socket(host, port);
             System.out.println("SocketClient initialized");


             //nhận lời thông báo kết nối thành công từ server

             String receiveM = new demoC().ReceiveMess(connection);
             System.out.println(receiveM);

             //ghi ra màn hình câu thông báo nhập nick
             System.out.println("Nhap nickName...");

             //gửi nickName từ màn hình qua cho server

            BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
            String userInput = stdIn.readLine();
        //     String userInput = "aaaaaaaaaaaafffffffffffffff";
            new demoC().SentMess(connection, userInput);

             //nhận danh sách ngừoi chơi

             String nameMess = new demoC().ReceiveMess(connection);
             System.out.println(nameMess);

         //    new demoC().ChiaBai(connection);

             // gửi tín hiệu bắt đầu

              String starstr = "start!";
      
            new demoC().SentMess(connection, starstr);
             //nhận bài chia cho các lượt
             //có 13 lượt nhận bài chia
            int turn = 13;
        //    int luot = 0;

            for(int luot = 0; luot < turn; luot ++)
            {


                //nhận bài chia từ sếp
                String receivedMessage= new demoC().ReceiveMess(connection);
                System.out.println("luot chia thu " + (luot + 1) + ": " + receivedMessage);

                //kêu gọi chọn quân bài

                System.out.println("Nhap quan bai chon...");

                //gửi quân bài đã chọn cho sếp

                BufferedReader ff = new BufferedReader(new InputStreamReader(System.in));
                String chonQB = ff.readLine();
                new demoC().SentMess(connection, chonQB);

            }
           
 
             
        }
              catch (Exception g)
     {
         System.out.println("Exception: " + g);
     }

    }

     public String ReceiveMess(Socket socket)
    {
        BufferedReader in = null;
        String mess = "";
        try
        {
             in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
             mess = in.readLine();

            
        }
         catch (Exception e)
         {
             System.out.println("There're some error");

         }


         

        return  mess;
    }

    public void SentMess(Socket socket, String string)
    {
        PrintWriter out = null;
        try
        {

             out = new PrintWriter(socket.getOutputStream(), true);
             out.println(string);

             

        }
        catch (Exception e)
         {

         }

    }

     public void ChiaBai(Socket connection, int chiaBai)
    {
            //nhan bai chia từ server và đưa ra màn hình
            try
            {
                String receivedMessage= new demoC().ReceiveMess(connection);
                System.out.println("luot chia thu " + (chiaBai + 1) + ": " + receivedMessage);
            }

            catch (Exception g)
            {
              System.out.println("Exception: " + g);
            }

            //hiển thị yêu cầu nhập quân bài chọn
            System.out.println("Nhap quan bai chon...");

            //gửi quân bài chọn cho server
            try
            {
                BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
                String userInput;
                while ((userInput = stdIn.readLine()) != null)
                {
                    new demoC().SentMess(connection, userInput);
                }
            }
            catch (Exception g)
            {
                System.out.println("Exception: " + g);
            }
      }


}
